package com.wiscamp.ninechapters.problems.domain.repositories;

import com.wiscamp.ninechapters.problems.domain.models.tasks.Assignment;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;

import java.time.LocalDate;
import java.util.Collection;

public interface AssignmentRepository {

    Assignment getAssignment(@Min(0) long assignmentId);

    Collection<Assignment> getAssignmentsBySet(@Min(0) long setId);

    int getAssignmentQuantityByDate(LocalDate datetimeStart, LocalDate datetimeEnd);

    Assignment saveAssignment(@NotNull Assignment assignment);

    boolean deleteAssignment(long assignmentId);
}
